<?php if(! defined('HAS_POWER') ) exit('无权访问!');
/**
==============================================================================
 * Class MemCacheComponent GracePHP Memcache缓存类组件
 * @author 肖永标
 * @date 2014-12-09
==============================================================================
 */

class MemCacheComponent extends Component {

    /**
     * @var Object Memcache 句柄
     */
    private $mem;


    /**
     *  初始化Memcache
     */
    public function init()
    {
        $host = Config::getItem('webCache.host');
        $port = Config::getItem('webCache.port');

        $this->mem = new Memcache();
        $this->mem->connect($host, $port);
    }


    /** 设置一个Memcache缓存键值对
     * @param string $key 键的名称
     * @param mixed $value 键的值
     * @param string $other 其他设置
     * @param int $expire 存活时间
     * @return mixed
     */
    public function set($key, $value, $other='', $expire=0)
    {
        return $this->mem->set($key, $value, $other, $expire);
    }


    /** 获取一个Memcache的键对用的值
     * @param string $key 键的名称
     * @return mixed
     */
    public function get($key)
    {
        return $this->mem->get($key);
    }


    /** 删除一个Memcache的缓存
     * @param string $key 键的名称
     * @return mixed
     */
    public function delete($key)
    {
        return $this->mem->delete($key);
    }


    /** 清空所有缓存
     * @return mixed
     */
    public function flush()
    {
        return $this->mem->flush();
    }


    /** 是否允许被控制器加载
     * @return mixed
     */
    public function allowLoad()
    {
        return false;
    }
}
